Pointers to functions


Pointers to functions

A pointer to a function allows passing a function to another function. You need to include <functional> to use pointers to functions.
Un puntero a una función permite pasar una función a otra función. Usted necesita incluir <functional> para usar los punteros a las funciones.

Problem 1
Create a Dialog Application called Heaven to test pointers to functions.
Cree una Aplicación de Diálogo llamada Heaven para probar los punteros a las funciones.

HeavenRun

Heaven.h
#pragma once //______________________________________ Heaven.h
#include "Resource.h"
#include <functional>
class Heaven: public Win::Dialog
{
public:
     Heaven()
     {
     }
     ~Heaven()
     {
     }
     static double CreateCode(int a, int b);
     double Evaluate(double x, double y, std::function<double(int, int)> fcn);
     . . .
};


Heaven.cpp
. . .
void Heaven::Window_Open(Win::Event& e)
{
     double result = Evaluate(1.0, 2.0, &Heaven::CreateCode);
     this->MessageBox(Sys::Convert::ToString(result), L"Heaven", MB_OK);
}

double Heaven::CreateCode(int a, int b)
{
     return 2.0*a + 3.0*b;
}

double Heaven::Evaluate(double x, double y, std::function<double(int, int)> fcn)
{
     const int a = (int)x;
     const int b = (int)y;
     const double c = fcn(a, b);
     return c + 1.0;
}



© Copyright 2000-2021 Wintempla selo. All Rights Reserved. Jul 22 2021. Home